package com.foxnicweb.app.domain.patent.meta;

import com.github.foxnic.api.bean.BeanProperty;
import com.foxnicweb.app.domain.patent.Patent;
import java.util.Date;
import javax.persistence.Transient;



/**
 * @author 李方捷 , leefangjie@qq.com
 * @since 2023-04-19 10:25:34
 * @sign F08EA29259C536E998F889D08422F28D
 * 此文件由工具自动生成，请勿修改。若表结构或配置发生变动，请使用工具重新生成。
*/

public class PatentMeta {
	
	/**
	 * 主键 , 类型: java.lang.Long
	*/
	public static final String ID="id";
	
	/**
	 * 主键 , 类型: java.lang.Long
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.Long> ID_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,ID, java.lang.Long.class, "主键", "主键", java.lang.Long.class, null);
	
	/**
	 * 案号 , 类型: java.lang.String
	*/
	public static final String SERIAL="serial";
	
	/**
	 * 案号 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> SERIAL_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,SERIAL, java.lang.String.class, "案号", "案号", java.lang.String.class, null);
	
	/**
	 * 案件名称 , 类型: java.lang.String
	*/
	public static final String TITLE="title";
	
	/**
	 * 案件名称 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> TITLE_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,TITLE, java.lang.String.class, "案件名称", "案件名称", java.lang.String.class, null);
	
	/**
	 * 提案名称 , 类型: java.lang.String
	*/
	public static final String PROPOSAL_TITLE="proposalTitle";
	
	/**
	 * 提案名称 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> PROPOSAL_TITLE_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,PROPOSAL_TITLE, java.lang.String.class, "提案名称", "提案名称", java.lang.String.class, null);
	
	/**
	 * ⽴案⽇期 , 类型: java.util.Date
	*/
	public static final String CREATION_TIME="creationTime";
	
	/**
	 * ⽴案⽇期 , 类型: java.util.Date
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.util.Date> CREATION_TIME_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,CREATION_TIME, java.util.Date.class, "⽴案⽇期", "⽴案⽇期", java.util.Date.class, null);
	
	/**
	 * 申请日期 , 类型: java.util.Date
	*/
	public static final String APPLICATION_DATE="applicationDate";
	
	/**
	 * 申请日期 , 类型: java.util.Date
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.util.Date> APPLICATION_DATE_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,APPLICATION_DATE, java.util.Date.class, "申请日期", "申请日期", java.util.Date.class, null);
	
	/**
	 * 案件状态 , 类型: java.lang.String
	*/
	public static final String PROJECT_STAGE="projectStage";
	
	/**
	 * 案件状态 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> PROJECT_STAGE_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,PROJECT_STAGE, java.lang.String.class, "案件状态", "案件状态", java.lang.String.class, null);
	
	/**
	 * 案件等级 , 类型: java.lang.String
	*/
	public static final String LEVEL="level";
	
	/**
	 * 案件等级 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> LEVEL_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,LEVEL, java.lang.String.class, "案件等级", "案件等级", java.lang.String.class, null);
	
	/**
	 * 客户 , 类型: java.lang.String
	*/
	public static final String CUSTOMER="customer";
	
	/**
	 * 客户 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> CUSTOMER_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,CUSTOMER, java.lang.String.class, "客户", "客户", java.lang.String.class, null);
	
	/**
	 * 销售 , 类型: java.lang.String
	*/
	public static final String SALES="sales";
	
	/**
	 * 销售 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> SALES_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,SALES, java.lang.String.class, "销售", "销售", java.lang.String.class, null);
	
	/**
	 * 流程 , 类型: java.lang.String
	*/
	public static final String FLOW="flow";
	
	/**
	 * 流程 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> FLOW_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,FLOW, java.lang.String.class, "流程", "流程", java.lang.String.class, null);
	
	/**
	 * 申请号 , 类型: java.lang.String
	*/
	public static final String APPLICATION_NUMBER="applicationNumber";
	
	/**
	 * 申请号 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> APPLICATION_NUMBER_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,APPLICATION_NUMBER, java.lang.String.class, "申请号", "申请号", java.lang.String.class, null);
	
	/**
	 * 案件类型 , 1发明专利 2实用新型 3外观设计 , 类型: java.lang.String
	*/
	public static final String SUBTYPE="subtype";
	
	/**
	 * 案件类型 , 1发明专利 2实用新型 3外观设计 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> SUBTYPE_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,SUBTYPE, java.lang.String.class, "案件类型", "1发明专利 2实用新型 3外观设计", java.lang.String.class, null);
	
	/**
	 * 申请国家 , 类型: java.lang.String
	*/
	public static final String AREA="area";
	
	/**
	 * 申请国家 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> AREA_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,AREA, java.lang.String.class, "申请国家", "申请国家", java.lang.String.class, null);
	
	/**
	 * 申请方式 , 类型: java.lang.String
	*/
	public static final String APPLICATION_MANNER="applicationManner";
	
	/**
	 * 申请方式 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> APPLICATION_MANNER_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,APPLICATION_MANNER, java.lang.String.class, "申请方式", "申请方式", java.lang.String.class, null);
	
	/**
	 * IPR , 类型: java.lang.String
	*/
	public static final String IPR="ipr";
	
	/**
	 * IPR , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> IPR_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,IPR, java.lang.String.class, "IPR", "IPR", java.lang.String.class, null);
	
	/**
	 * 申请人 , 类型: java.lang.String
	*/
	public static final String APPLICANTS="applicants";
	
	/**
	 * 申请人 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> APPLICANTS_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,APPLICANTS, java.lang.String.class, "申请人", "申请人", java.lang.String.class, null);
	
	/**
	 * 发明人 , 类型: java.lang.String
	*/
	public static final String INVENTORS="inventors";
	
	/**
	 * 发明人 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> INVENTORS_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,INVENTORS, java.lang.String.class, "发明人", "发明人", java.lang.String.class, null);
	
	/**
	 * 联系人 , 类型: java.lang.String
	*/
	public static final String CONTACT="contact";
	
	/**
	 * 联系人 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> CONTACT_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,CONTACT, java.lang.String.class, "联系人", "联系人", java.lang.String.class, null);
	
	/**
	 * 送件代理⼈ , 类型: java.lang.String
	*/
	public static final String PATENT_AGENT="patentAgent";
	
	/**
	 * 送件代理⼈ , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> PATENT_AGENT_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,PATENT_AGENT, java.lang.String.class, "送件代理⼈", "送件代理⼈", java.lang.String.class, null);
	
	/**
	 * 送件代理所 , 类型: java.lang.String
	*/
	public static final String AGENCY="agency";
	
	/**
	 * 送件代理所 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> AGENCY_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,AGENCY, java.lang.String.class, "送件代理所", "送件代理所", java.lang.String.class, null);
	
	/**
	 * 服务类型 , 类型: java.lang.String
	*/
	public static final String SERVICE="service";
	
	/**
	 * 服务类型 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> SERVICE_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,SERVICE, java.lang.String.class, "服务类型", "服务类型", java.lang.String.class, null);
	
	/**
	 * 订单号 , 类型: java.lang.String
	*/
	public static final String ORDER_SERIAL="orderSerial";
	
	/**
	 * 订单号 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> ORDER_SERIAL_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,ORDER_SERIAL, java.lang.String.class, "订单号", "订单号", java.lang.String.class, null);
	
	/**
	 * 备注 , 类型: java.lang.String
	*/
	public static final String REMARK="remark";
	
	/**
	 * 备注 , 类型: java.lang.String
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.String> REMARK_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,REMARK, java.lang.String.class, "备注", "备注", java.lang.String.class, null);
	
	/**
	 * 实质审查 , 类型: java.lang.Integer
	*/
	public static final String IS_SUBEXAM_REQUEST="isSubexamRequest";
	
	/**
	 * 实质审查 , 类型: java.lang.Integer
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.Integer> IS_SUBEXAM_REQUEST_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,IS_SUBEXAM_REQUEST, java.lang.Integer.class, "实质审查", "实质审查", java.lang.Integer.class, null);
	
	/**
	 * 状态 , 类型: java.lang.Integer
	*/
	public static final String STATUS="status";
	
	/**
	 * 状态 , 类型: java.lang.Integer
	*/
	public static final BeanProperty<com.foxnicweb.app.domain.patent.Patent,java.lang.Integer> STATUS_PROP = new BeanProperty(com.foxnicweb.app.domain.patent.Patent.class ,STATUS, java.lang.Integer.class, "状态", "状态", java.lang.Integer.class, null);
	
	/**
	 * 全部属性清单
	*/
	public static final String[] $PROPS={ ID , SERIAL , TITLE , PROPOSAL_TITLE , CREATION_TIME , APPLICATION_DATE , PROJECT_STAGE , LEVEL , CUSTOMER , SALES , FLOW , APPLICATION_NUMBER , SUBTYPE , AREA , APPLICATION_MANNER , IPR , APPLICANTS , INVENTORS , CONTACT , PATENT_AGENT , AGENCY , SERVICE , ORDER_SERIAL , REMARK , IS_SUBEXAM_REQUEST , STATUS };
	
	/**
	 * 代理类
	*/
	public static class $$proxy$$ extends com.foxnicweb.app.domain.patent.Patent {

		private static final long serialVersionUID = 1L;

		
		/**
		 * 设置 主键
		 * @param id 主键
		 * @return 当前对象
		*/
		public Patent setId(Long id) {
			super.change(ID,super.getId(),id);
			super.setId(id);
			return this;
		}
		
		/**
		 * 设置 案号
		 * @param serial 案号
		 * @return 当前对象
		*/
		public Patent setSerial(String serial) {
			super.change(SERIAL,super.getSerial(),serial);
			super.setSerial(serial);
			return this;
		}
		
		/**
		 * 设置 案件名称
		 * @param title 案件名称
		 * @return 当前对象
		*/
		public Patent setTitle(String title) {
			super.change(TITLE,super.getTitle(),title);
			super.setTitle(title);
			return this;
		}
		
		/**
		 * 设置 提案名称
		 * @param proposalTitle 提案名称
		 * @return 当前对象
		*/
		public Patent setProposalTitle(String proposalTitle) {
			super.change(PROPOSAL_TITLE,super.getProposalTitle(),proposalTitle);
			super.setProposalTitle(proposalTitle);
			return this;
		}
		
		/**
		 * 设置 ⽴案⽇期
		 * @param creationTime ⽴案⽇期
		 * @return 当前对象
		*/
		public Patent setCreationTime(Date creationTime) {
			super.change(CREATION_TIME,super.getCreationTime(),creationTime);
			super.setCreationTime(creationTime);
			return this;
		}
		
		/**
		 * 设置 申请日期
		 * @param applicationDate 申请日期
		 * @return 当前对象
		*/
		public Patent setApplicationDate(Date applicationDate) {
			super.change(APPLICATION_DATE,super.getApplicationDate(),applicationDate);
			super.setApplicationDate(applicationDate);
			return this;
		}
		
		/**
		 * 设置 案件状态
		 * @param projectStage 案件状态
		 * @return 当前对象
		*/
		public Patent setProjectStage(String projectStage) {
			super.change(PROJECT_STAGE,super.getProjectStage(),projectStage);
			super.setProjectStage(projectStage);
			return this;
		}
		
		/**
		 * 设置 案件等级
		 * @param level 案件等级
		 * @return 当前对象
		*/
		public Patent setLevel(String level) {
			super.change(LEVEL,super.getLevel(),level);
			super.setLevel(level);
			return this;
		}
		
		/**
		 * 设置 客户
		 * @param customer 客户
		 * @return 当前对象
		*/
		public Patent setCustomer(String customer) {
			super.change(CUSTOMER,super.getCustomer(),customer);
			super.setCustomer(customer);
			return this;
		}
		
		/**
		 * 设置 销售
		 * @param sales 销售
		 * @return 当前对象
		*/
		public Patent setSales(String sales) {
			super.change(SALES,super.getSales(),sales);
			super.setSales(sales);
			return this;
		}
		
		/**
		 * 设置 流程
		 * @param flow 流程
		 * @return 当前对象
		*/
		public Patent setFlow(String flow) {
			super.change(FLOW,super.getFlow(),flow);
			super.setFlow(flow);
			return this;
		}
		
		/**
		 * 设置 申请号
		 * @param applicationNumber 申请号
		 * @return 当前对象
		*/
		public Patent setApplicationNumber(String applicationNumber) {
			super.change(APPLICATION_NUMBER,super.getApplicationNumber(),applicationNumber);
			super.setApplicationNumber(applicationNumber);
			return this;
		}
		
		/**
		 * 设置 案件类型
		 * @param subtype 案件类型
		 * @return 当前对象
		*/
		public Patent setSubtype(String subtype) {
			super.change(SUBTYPE,super.getSubtype(),subtype);
			super.setSubtype(subtype);
			return this;
		}
		
		/**
		 * 设置 申请国家
		 * @param area 申请国家
		 * @return 当前对象
		*/
		public Patent setArea(String area) {
			super.change(AREA,super.getArea(),area);
			super.setArea(area);
			return this;
		}
		
		/**
		 * 设置 申请方式
		 * @param applicationManner 申请方式
		 * @return 当前对象
		*/
		public Patent setApplicationManner(String applicationManner) {
			super.change(APPLICATION_MANNER,super.getApplicationManner(),applicationManner);
			super.setApplicationManner(applicationManner);
			return this;
		}
		
		/**
		 * 设置 IPR
		 * @param ipr IPR
		 * @return 当前对象
		*/
		public Patent setIpr(String ipr) {
			super.change(IPR,super.getIpr(),ipr);
			super.setIpr(ipr);
			return this;
		}
		
		/**
		 * 设置 申请人
		 * @param applicants 申请人
		 * @return 当前对象
		*/
		public Patent setApplicants(String applicants) {
			super.change(APPLICANTS,super.getApplicants(),applicants);
			super.setApplicants(applicants);
			return this;
		}
		
		/**
		 * 设置 发明人
		 * @param inventors 发明人
		 * @return 当前对象
		*/
		public Patent setInventors(String inventors) {
			super.change(INVENTORS,super.getInventors(),inventors);
			super.setInventors(inventors);
			return this;
		}
		
		/**
		 * 设置 联系人
		 * @param contact 联系人
		 * @return 当前对象
		*/
		public Patent setContact(String contact) {
			super.change(CONTACT,super.getContact(),contact);
			super.setContact(contact);
			return this;
		}
		
		/**
		 * 设置 送件代理⼈
		 * @param patentAgent 送件代理⼈
		 * @return 当前对象
		*/
		public Patent setPatentAgent(String patentAgent) {
			super.change(PATENT_AGENT,super.getPatentAgent(),patentAgent);
			super.setPatentAgent(patentAgent);
			return this;
		}
		
		/**
		 * 设置 送件代理所
		 * @param agency 送件代理所
		 * @return 当前对象
		*/
		public Patent setAgency(String agency) {
			super.change(AGENCY,super.getAgency(),agency);
			super.setAgency(agency);
			return this;
		}
		
		/**
		 * 设置 服务类型
		 * @param service 服务类型
		 * @return 当前对象
		*/
		public Patent setService(String service) {
			super.change(SERVICE,super.getService(),service);
			super.setService(service);
			return this;
		}
		
		/**
		 * 设置 订单号
		 * @param orderSerial 订单号
		 * @return 当前对象
		*/
		public Patent setOrderSerial(String orderSerial) {
			super.change(ORDER_SERIAL,super.getOrderSerial(),orderSerial);
			super.setOrderSerial(orderSerial);
			return this;
		}
		
		/**
		 * 设置 备注
		 * @param remark 备注
		 * @return 当前对象
		*/
		public Patent setRemark(String remark) {
			super.change(REMARK,super.getRemark(),remark);
			super.setRemark(remark);
			return this;
		}
		
		/**
		 * 设置 实质审查
		 * @param isSubexamRequest 实质审查
		 * @return 当前对象
		*/
		public Patent setIsSubexamRequest(Integer isSubexamRequest) {
			super.change(IS_SUBEXAM_REQUEST,super.getIsSubexamRequest(),isSubexamRequest);
			super.setIsSubexamRequest(isSubexamRequest);
			return this;
		}
		
		/**
		 * 设置 状态
		 * @param status 状态
		 * @return 当前对象
		*/
		public Patent setStatus(Integer status) {
			super.change(STATUS,super.getStatus(),status);
			super.setStatus(status);
			return this;
		}

		/**
		 * 克隆当前对象
		*/
		@Transient
		public Patent clone() {
			return duplicate(true);
		}

		/**
		 * 复制当前对象
		 * @param all 是否复制全部属性，当 false 时，仅复制来自数据表的属性
		*/
		@Transient
		public Patent duplicate(boolean all) {
			$$proxy$$ inst=new $$proxy$$();
			inst.setCreationTime(this.getCreationTime());
			inst.setApplicationNumber(this.getApplicationNumber());
			inst.setInventors(this.getInventors());
			inst.setApplicants(this.getApplicants());
			inst.setRemark(this.getRemark());
			inst.setTitle(this.getTitle());
			inst.setSales(this.getSales());
			inst.setSubtype(this.getSubtype());
			inst.setContact(this.getContact());
			inst.setIsSubexamRequest(this.getIsSubexamRequest());
			inst.setId(this.getId());
			inst.setFlow(this.getFlow());
			inst.setApplicationManner(this.getApplicationManner());
			inst.setArea(this.getArea());
			inst.setPatentAgent(this.getPatentAgent());
			inst.setProposalTitle(this.getProposalTitle());
			inst.setAgency(this.getAgency());
			inst.setLevel(this.getLevel());
			inst.setIpr(this.getIpr());
			inst.setProjectStage(this.getProjectStage());
			inst.setSerial(this.getSerial());
			inst.setService(this.getService());
			inst.setApplicationDate(this.getApplicationDate());
			inst.setCustomer(this.getCustomer());
			inst.setOrderSerial(this.getOrderSerial());
			inst.setStatus(this.getStatus());
			inst.clearModifies();
			return inst;
		}

	}
}